var result = []; | |
for (var i = 0; i < 5; i++) { | |
result[i] = (function inner(x) { | |
// additional enclosing context | |
return function() { | |
console.log(x); | |
} | |
})(i); | |
} | |
result[0](); // 0, expected 0 | |
result[1](); // 1, expected 1 | |
result[2](); // 2, expected 2 | |
result[3](); // 3, expected 3 | |
result[4](); // 4, expected 4 |